DBE field() - any workaround for 999 character limit in get()?

Looks like if you enter a string in a DBE field() element, the get() operation will only return the first 999 characters.

Is there any workaround to allow reading all of the input string?

Or do I have to make the user put the string in a file and read it in that way, allowing them to specify the file instead of the string directly?

-S


strathglass - Wed Feb 26 14:20:36 EST 2014

Re: DBE field() - any workaround for 999 character limit in get()?
llandale - Wed Feb 26 15:34:32 EST 2014

I don't think so.

I wonder if the limit is really 968?  The following displays the max length for "string" attributes; which I presume is the same for "field" DBEs.

  • print maximumAttributeLength ""

Seems to me you would use a "field" for relatively short string input, otherwise use a "text" box; using the same reasoning when deciding if an attribute should be type "string" or "text".

-Louie

Re: DBE field() - any workaround for 999 character limit in get()?
strathglass - Wed Feb 26 15:45:41 EST 2014

llandale - Wed Feb 26 15:34:32 EST 2014

I don't think so.

I wonder if the limit is really 968?  The following displays the max length for "string" attributes; which I presume is the same for "field" DBEs.

  • print maximumAttributeLength ""

Seems to me you would use a "field" for relatively short string input, otherwise use a "text" box; using the same reasoning when deciding if an attribute should be type "string" or "text".

-Louie

I tested and confirmed that field() will return 999 characters but no more.

You are right about text() - that did the trick, should have thought of that!

(But get() for text and field DBEs returns the same thing - string, would have been good if they had clarified the difference in the DXL help file!)

 

Thanks Louie!

 

-S

Re: DBE field() - any workaround for 999 character limit in get()?
llandale - Fri Feb 28 11:38:19 EST 2014

strathglass - Wed Feb 26 15:45:41 EST 2014

I tested and confirmed that field() will return 999 characters but no more.

You are right about text() - that did the trick, should have thought of that!

(But get() for text and field DBEs returns the same thing - string, would have been good if they had clarified the difference in the DXL help file!)

 

Thanks Louie!

 

-S

I believe you can insert EOL and Line-Feed characters into a "Text" DBE, but not a "Field" DBE. 

Note also the existance of a "richText" DBE, allowing bolding et tal and OLE diagrams.  IIRC, you had to "get" mindfully but I don't recall why.

Note also the existance of a "richField" allowing basic bolding et tal.

-Louie

Re: DBE field() - any workaround for 999 character limit in get()?
llandale - Fri Feb 28 11:48:51 EST 2014

strathglass - Wed Feb 26 15:45:41 EST 2014

I tested and confirmed that field() will return 999 characters but no more.

You are right about text() - that did the trick, should have thought of that!

(But get() for text and field DBEs returns the same thing - string, would have been good if they had clarified the difference in the DXL help file!)

 

Thanks Louie!

 

-S

Curious, you can type, paste, and "set()" more than 999 into the field, but the "get()" only gets the 1st 999.  Seems to me if they are going to restrict it, then they should also disallow the field from ever containing more in the 1st place.

Re: DBE field() - any workaround for 999 character limit in get()?
pommCannelle - Mon Mar 03 10:17:40 EST 2014

llandale - Wed Feb 26 15:34:32 EST 2014

I don't think so.

I wonder if the limit is really 968?  The following displays the max length for "string" attributes; which I presume is the same for "field" DBEs.

  • print maximumAttributeLength ""

Seems to me you would use a "field" for relatively short string input, otherwise use a "text" box; using the same reasoning when deciding if an attribute should be type "string" or "text".

-Louie

The string type is abble to contain much more than 968 characters ...

string s = ""; int i
for i in 0:1000 do s = s "1234567890"
print length(s) "\n"
print s[10000:10009] ""

The maximumAttributeLength constant concerns string attributes only ;)
Seems that containers (like attribute/968, field/999, richField/4072 ... ) have their own size restrictions ...

Re: DBE field() - any workaround for 999 character limit in get()?
strathglass - Mon Mar 03 13:41:22 EST 2014

pommCannelle - Mon Mar 03 10:17:40 EST 2014

The string type is abble to contain much more than 968 characters ...

string s = ""; int i
for i in 0:1000 do s = s "1234567890"
print length(s) "\n"
print s[10000:10009] ""

The maximumAttributeLength constant concerns string attributes only ;)
Seems that containers (like attribute/968, field/999, richField/4072 ... ) have their own size restrictions ...

Interesting, thanks for clarifying.